preface
使用linux你永远也无法避过命令行,能熟练地掌握常用命令是一种必备的技能。
command
man
- manual的缩写:手册,指南
- 显示所查询命令的用法
1
2
3
4man man //查看man命令的用法
man ls
man pwd
man cd
显示命令的用法后:
空格键:向下翻页
B:向上翻页
Q:退出
ls
- list缩写
输出目录下的文件和目录信息(默认当前目录)
1
2
3
4
5ls //列出当前目录下文件信息
ls -a //列出当前目录所有文件信息,包括隐藏文件
ls -l //列出当前目录文件的详细信息(文件属性和权限,硬链接个数,属主,属组,文件大小,最后访问时间,文件或目录名)
ls / //显示根目录下的文件信息
ls -al //显示当前目录下所有文件的详细信息其他用法
1
2
3ls -lt //按修改时间排序显示,从近到远
ls -R //递归显示当前目录下各目录信息(-R为大写)
ls -lih //可以显示总大小,带单位
pwd
- print work directory :打印工作目录
- 输出当前路径
1
pwd
cd
- change directory
- 切换目录
1
2
3cd / //切换到根目录
cd /etc/python3 //切换到目录下
cd .. //切换到上一层目录
more
- 分页显示文件内容
- 比cat方便
mkdir
- make directory
- 创建目录/新建文件夹
- -p:创建多层目录
1
mkdir dir_name //创建名为dir_name的目录
mv
- move
- 移动文件或目录,相当于剪切。也可以用来重命名
- mv [参数] 源文件 目标文件
- -i 覆盖前给予提示
1
2
3mv test.txt d1 //将test.txt移动到d1目录下
mv d1/test.txt d2 //将d1下的test.txt移动到d2目录下
mv test.txt ttt.txt //将test.txt重命名为ttt.txt
cp
- copy
- 复制文件夹或目录
- 用法与mv类似
- -R 源文件为多级目录时,需添加该参数(-R为大写)
rm
- remove
- 删除文件或目录
- -f:force 强制删除,不给任何提示
- -i:information 删除文件时提供交互信息(输入y或n)
- -r: recursion 递归删除目录
1
2rm -rf a.txt //强制递归删除(root用户谨慎使用)
rm -r file1/1.txt //递归删除file下的1.txt
chmod
- change mode
- 修改权限
方式①:
u:user即当前用户 g:group当前用户所属组 o: others其他用户 a:all所有
r:read读权限 w:write写 x:execute执行
for example:1
chmod u-r 1.txt //去除当前用户对1.txt的读权限
方式②:1
chmod 777 1.txt
三个数代表的意思:777分别转换为二进制是 111 111 111 ,这九位分别对应以下1-9位权限的有无
df
- disk free
- 查看当前系统磁盘使用情况
- -h 以G或M为单位显示磁盘信息
1
df -h
free
- free -h
- 查看物理内存使用情况
gzip
- 用来压缩文件或解压.gz文件
- -d:解压文件
- -c:输出到标准输出设备,不更改原始文件
1
2
3
4
5gzip 1.txt //压缩1.txt为1.txt.gz(覆盖原文件)
gzip -d 1.txt.gz //解压1.txt.gz(覆盖原文件)
gzip -c 1.txt > 1.txt.gz //压缩1.txt(保留原文件)
gzip -dc 1.txt.gz > 1.txt //解压1.txt.gz(保留原文件)
grep
- global search regular expression(RE) and print out the line, 全面搜索正则表达式并把行打印出来
用法:1
grep '正则表达式' 1.txt //显示1.txt中满足条件的行
ps/kill
- process status
- ps:查看系统进程
- -a: 包括其他用户的所有进程
- -e:显示当前所有进程
- -f: 树形格式显示进程
- -u: 按照用户名或启动时间顺序来显示进程
- -x: 显示无控制终端的进程
1
2ps -aux //常用组合
ps -ef //常用组合
常见用法:1
2
3
4ps -aux > ps1.txt //将进程信息输出到ps1.txt
more ps1.txt //用more命令查看
ps -aux | grep '===' //借助grep过滤出满足条件的进程
- kill:结束进程
用法:1
kill [进程PID]
tar
- 打包或压缩文件
- -c: 建立压缩档案
- -x:解压
- -t:查看内容
- -r:向压缩归档文件末尾追加文件
- -u:更新原压缩包中的文件
- —–以下为可选——
- -z:有gzip属性的
- -j:有bz2属性的
- -Z:有compress属性的
- -v:显示所有过程
- —–以下为必需——
- -f: 使用档案名字,切记这个参数是最后一个参数,后面只能接档案名(打包后的)
打包:1
tar -cvf 1.txt.tar 1.txt
打包并用gzip压缩:1
tar -czf 1.txt.tar.gz 1.txt
解开tar包:1
tar -xvf 1.tar
解压.tar.gz:1
tar -xzvf 1.tar.gz
解压.taz:1
tar zxvf 文件名.tgz -C /pathname
其他用法:1
2
3
4
5
6
7
8
9
10# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-t是解开的意思
总结:1
2
3
4
5
6
7
8
9压缩:
tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
tar -czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
解压:
tar -xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
unzip file.zip //解压zip
总结:1
2
3
4
5
61、*.tar 或 *.tar.xz 用 tar -xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar -xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar -xjf 解压
6、*.zip 用 unzip 解压
取消打印队列
1 | [root@localhost /]# lpq //查看打印队列 |
后台运行任务
1 | 在一个命令最后加 &,代表把该命令放后台运行 |
Linux practice
- 利用man命令来查看ls/mkdir/mv/cp/rm的用法
- 利用cd命令切换到上级目录、根目录、home目录、usr目录
- 利用pwd命令显示当前目录
- 利用ls命令显示目录下的内容、显示隐藏内容、显示上级目录内容、显示根目录内容
- 利用mkdir创建一个目录dir_one、递归创建目录、在目录下创建一个文档并写上内容
- 利用rmdir将创建的目录删除
- 在本目录下创建一个文档test1,利用mv命令改名为test2,利用cp命令在 本目录下拷贝test1为test3,将test3拷贝到root目录下,用rm将test3删除
- 首先用echo在屏幕上显示helloworld,其次用echo通过变量的形式显示helloworld
- 在home目录下创建一个文件夹test1,并tar命令将其压缩为test1.tar.gz,然后将test1删除,然后利用tar命令将test1.tar.gz解压
- 利用tar/make命令对vim源码包进行加压、配置、编译、安装。
转载请注明出处:http://taowusheng.cn/
微博:寒枫–0-0–
知乎:https://www.zhihu.com/people/tao-wu-sheng
豆瓣:YIFEI